草庐IT

javascript - jpm run 不适用于 Firefox 48 或更高版本

coder 2025-02-12 原文

jpm版本为1.1.3
npm 版本为 2.15.8
节点版本为4.4.7
火狐版本为48.0

index.js 的内容:

var self = require("sdk/self");  
console.log("************************************");

“jpm run”命令的输出

JPM [info] Starting jpm run on My Jetpack Addon  
JPM [info] Creating a new profile

根据index.js文件的内容,控制台应该输出一行*符号。但是,愿望输出不在控制台中。

代码有问题吗?

我的 package.json 文件的内容:

{  
  "title": "My Jetpack Addon",  
  "name": "temp",   
  "version":  "0.0.1",  
  "description": "A basic add-on",
  "main": "index.js",    
  "author": "",   
  "engines": {  
      "firefox": ">=38.0a1",  
       "fennec": ">=38.0a1"   },   
   "license": "MIT",  
   "keywords": [  
      "jetpack"   ]  
}

最佳答案

jpm run 不适用于 Firefox 48 或更高版本的发行版

问题不是jpm,而是您正试图将它与 Firefox 48 的发行版一起使用。从 Firefox 48 开始,Mozilla 已禁用设置首选项的能力 xpinstall.signatures.requiredfalse 以允许加载未签名的附加组件。因此,您的附加组件被添加到该 Firefox 配置文件,但被禁用:

jpm run

您需要安装和使用不同版本的 Firefox

要测试您的附加组件,您需要安装不同版本的 Firefox 并使用 -b option to jpm run告诉jpm which version of Firefox to use .假设您不想要 old version对于 Firefox,您的选项是 Firefox Developer Edition , Firefox Nightly , Unbranded Beta, or Unbranded Release .

[注意(2016-08-11):我在过去几天的测试表明,Firefox 48 的无品牌发布版本和 Firefox 49.0b2 的无品牌 Beta 版本出现了 48 或 49 中没有的问题而那些版本是 Nightly 或 Developer Edition。当前的 Developer Edition (50.0a2) 或 Nightly (51.0a2) 中不存在这些问题。换句话说,我有一个插件可以在 Developer Edition (50.0a2) 和 Nightly (51.0a2) 中使用,并且可以在 Developer Edition (49.0a2) 和 Developer Edition (48.0a2) 中使用,但不能在 Unbranded Release (48.0) 或 Unbranded Beta (49.0b2) 中工作。因此,我建议此时不要使用无品牌版本的 Firefox。]

最简单的做法是下载 Firefox Nightly并启动 jpm 使用:

jpm run -b nightly 

单词 nightly 是一个快捷方式,它解析为 Firefox Nightly 的默认安装位置。根据您使用的操作系统,还可以使用其他快捷方式名称(例如 firefoxfirefoxdevelopereditionbetanightly aurora)。但是,它们无法在所有操作系统上正确解析。您始终可以选择指定要使用的 Firefox 版本的完整路径。

使用 -b 选项指定路径的另一种方法是将 JPM_FIREFOX_BINARY 环境变量更改为您希望使用的 Firefox 可执行文件的路径jpm.

注意:我已经更新了 installation documentation对于 MDN 上的 jpm 以反射(reflect)从 Firefox 48 开始需要非发布版本的 Firefox。如果您最近访问过该页面,您可能需要使用 Ctrl-F5 刷新页面以查看新内容。

关于javascript - jpm run 不适用于 Firefox 48 或更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38887048/

有关javascript - jpm run 不适用于 Firefox 48 或更高版本的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  3. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  4. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

  5. ruby - inverse_of 是否适用于 has_many? - 2

    当我使用has_one时,它​​工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290

  6. ruby - Watir 更改 Mozilla Firefox 首选项 - 2

    我正在使用Watir运行一个Ruby脚本来为我自动化一些事情。我试图自动将一些文件保存到某个目录。因此,在我的Mozilla设置中,我将默认下载目录设置为桌面并选择自动保存文件。但是,当我开始运行我的脚本时,这些更改并没有反射(reflect)出来。似乎首选项恢复为默认值。我已经包括以下内容require"rubygems"#Optional.require"watir-webdriver"#Forwebautomation.require"win32ole"#Forfilesavedialog.并打开一个新的firefox实例:browser=Watir::Browser.new(:

  7. ruby - "undefined method"用于 rails 模型 - 2

    我正在使用带有Rails的Devise,我想添加一个方法“getAllComments”,所以我这样写:classUser在我的Controller中:defdashboard@user=current_user@comments=@user.getAllComments();end当我访问我的url时,我得到了undefinedmethod`getAllComments'for#我做错了什么?谢谢 最佳答案 因为getAllComments是一个类方法,而您正试图将其作为实例方法访问。您要么需要访问它:User.getAllCom

  8. ruby-on-rails - 使用 javascript 更改数据方法不会更改 ajax 调用用户的什么方法? - 2

    我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的

  9. Ruby on Rails regexp equals-tilde 与 array include 用于检查选项列表 - 2

    我正在使用Rails3.2.3和Ruby1.9.3p0。我发现我经常需要确定某个字符串是否出现在选项列表中。看来我可以使用Ruby数组.includemethod:或正则表达式equals-tildematchshorthand用竖线分隔选项:就性能而言,一个比另一个好吗?还有更好的方法吗? 最佳答案 总结:Array#include?包含String元素,在接受和拒绝输入时均胜出,对于您的示例只有三个可接受的值。对于要检查的更大的集合,看起来Set#include?和String元素可能会获胜。如何测试我们应该根据经验对此进行测试

  10. ruby-on-rails - 不兼容的库版本 : nokogiri. bundle 需要 8.0.0 或更高版本,但 libiconv.2.dylib 提供 7.0.0 版本 - 2

    为了在我的mac上为一个rails项目安装mysql,我遵循了安装Homebrew软件和删除mac端口的在线建议。这是问题开始的地方。rails项目不会构建,我得到这个:[rake--prereqs]rakeaborted!dlopen(/Users/Parker/.rvm/gems/ruby-1.9.3-p448/gems/nokogiri-1.6.0/lib/nokogiri/nokogiri.bundle,9):Librarynotloaded:/opt/local/lib/libiconv.2.dylibReferencedfrom:/Users/Parker/.rvm/gem

随机推荐