我使用npm脚本来构建我的项目。我希望能够从不同的目录运行脚本。也就是说,而不是执行以下操作:cdproject;npmrunbuild;cd.....我想简单地做一些类似的事情:npmrunbuild-configproject/package.json;或npmrunbuild-wdproject;这可能吗? 最佳答案 使用--prefix为我工作:npm--prefix/path/to/projectrunbuild其中path/to/project是您的package.json与build命令定义的目录。
当我尝试使用sudoapt-getinstallnpm安装npm时,出现以下错误:E:Unabletolocatepackagenpm为什么apt找不到npm?我正在使用Debian9并且已经运行了sudoapt-getinstallnodejs 最佳答案 来自官方Node.js文档:ANode.jspackageisalsoavailableintheofficialrepoforDebianSid(unstable),Jessie(testing)andWheezy(wheezy-backports)as"nodejs".Ito
是否有简单或微妙的原因导致package.json在运行--save-dev后不会更新?这是我的命令:npminstallmodulename--save-dev从项目的根目录运行。命令成功,新模块按预期显示在node_modules目录中。帮助将不胜感激。我正在使用npmv1.4.28我当前的整个package.json是:{"name":"FooWeb","version":"1.0.0","description":"FooWeb","devDependencies":{"gulp":"3.8.11","gulp-jshint":"1.9.2","gulp-concat":"2.
有没有办法在npmpackage.json文件中指定特定于操作系统的依赖项?例如,如果用户正在运行Linux,我只想安装'dbus'(https://npmjs.org/package/dbus)作为我的模块的依赖项。我会对Mac和Windows有不同的依赖关系。 最佳答案 根据您的设置,有一种可能的好方法。npmpackage.json支持os键,还有optionalDependenciesos可用于指定模块可以安装在哪个操作系统上。optionalDependencies是模块依赖项,如果无法安装,npm会跳过它们并继续安装。通
NPM2.11.3我正在Node.js中构建一个库。这个库仅供我目前工作的公司使用。我认为这意味着许可证是“无”。但是当我npminit时,它希望我使用SPDX许可证。“无”或“未经许可”不是有效选项。npmWARNpackage.jsondata_monitoring_api@0.1.0许可证应该是有效的SPDX许可证表达式在NPMGitHub问题跟踪器上对此进行了一些讨论,但我找不到任何可以明确回答此问题的内容。也许NPM不支持这个概念,但这似乎很奇怪。在这种情况下我应该为这个字段输入什么?我想摆脱与此相关的npm警告。虽然文档说UNLICENSED是有效的,但它仍然给出警告:$c
当你运行npminstall--savesomepackage时,它通常会在package.json中添加类似这样的内容:"dependencies":{"somepackage":"^2.1.0"}因为版本前面带有插入符号(^),这意味着如果您稍后运行npminstall,它可能会安装2.3.0版本。由于相当明显的原因,这可能是不可取的。npmshrinkwrap很有用,但并不能真正解决问题。所以,我有几个问题:安装包时,是否可以在package.json中指定您希望将其设置为特定版本(版本号前没有插入符号)?在将包发布到npm时,有什么方法可以防止在其他开发者安装你的包时默认在版本
在npminit之后,我可以使用以下命令在package.json中添加依赖项:npminstallpackage--save说,我想uninstall包,我这样做:npmuninstallpackage但我也希望我的package.json也相应地更新,而不必手动转到文件并删除该行。从npm文档中它说:Itisstrictlyadditive,soitdoesnotdeleteoptionsfromyourpackage.jsonwithoutareallygoodreasontodoso.所以,我只是想知道这是否可能。 最佳答案
如果我在应用程序根目录中定义了一个package.json文件并运行npminstall-g,它将安装package.json中定义的所有依赖项,全局。但是,这似乎不能反过来。如果我在我的应用程序根目录中执行npmuninstall-g会引发错误,让我将包名传递给它。这不应该也卸载我安装的相同软件包吗?我做错了吗? 最佳答案 如果使用Bash,只需切换到包含您的package.json文件的文件夹并运行以下命令:forpackagein`lsnode_modules`;donpmuninstall$package;done;对于全局
我希望能够在将运行nodescript1.js的项目目录中执行命令script1。script1.js是同一目录下的文件。该命令需要特定于项目目录,这意味着如果我将项目文件夹发送给其他人,他们将能够运行相同的命令。到目前为止,我已经尝试添加:"scripts":{"script1":"nodescript1.js"}到我的package.json文件,但是当我尝试运行script1时,我得到以下输出:zsh:commandnotfound:script1有谁知道将上述脚本添加到项目文件夹所需的步骤?*注意:该命令不能添加到bash配置文件(不能是特定于机器的命令)如果您需要任何说明,请
我已经做了很多搜索。但是,仍然对Node项目的package.json中的'main'参数存有疑问。填写此字段有何帮助?换个方式问,如果出现这个字段,我能不能以不同的方式启动模块?我可以在主参数中填写多个脚本吗?如果是,它们会作为两个线程启动吗?如果不是,如何在一个模块中启动两个脚本并让它们并行运行?我知道第二个问题很奇怪。这是因为我在OpenShift上托管了一个Node.js应用程序,但该应用程序由两个主要组件组成。一种是RESTAPI,一种是通知传递服务。如果通知传递过程被实现为单个线程,我担心通知传递过程会阻塞RESTAPI。但是,它们必须连接到同一个MongoDB盒式磁带。此