npm和yarn使用记录
一直记不住一些npm的命令问题,这篇文章专门用来记录一些npm使用中的问题。
1.npm install
npm install 包名,默认是安装本地文件夹下,即命令执行的文件夹。大部分的npm官网里面的包都是这么安装的,默认不更新packag.json。
npm install 包名 -save/-S,–save是你发布之后还依赖的东西
npm install 包名 -save-dev/-D,–save-dev是你开发时候依赖的东西
在stackoverflow上有这么一段话:
“Before version 5, NPM simply installed a package under node_modules by default. When you were trying to install dependencies for your app/module, you would need to first install them, and then add them (along with the appropriate version number) to the dependencies section of your package.json.
The –save option instructed NPM to include the package inside of the dependencies section of your package.json automatically, thus saving you an additional step.
In addition, there are the complementary options –save-dev and –save-optional which save the package under devDependencies and optionalDependencies, respectively. This is useful when installing development-only packages, like grunt or your testing library.”
npm 5.0版本以后,就自动加入了–save这个选项。npm( https://docs.npmjs.com/cli/install )文档中是这么描述的“npm install saves any specified packages into dependencies by default.”
2.报错“npm ERR! cb() never called!”和”Unhandled rejection RangeError: Maximum call stack size exceededill install loadIdealTree”
尝试 删除项目中的 node_modules 文件夹,然后再尝试 npm install.
3.安装淘宝镜像
1 | ## 安装cnpm |
安装cnpm,安装成功以后,将npm改成使用cnpm安装模块即可,简单,省事。
1.cnpm卸载与安装步骤
2.nodejs npm 卸载 + 重新安装
3.cnpm的卸载和重新安装 (这里通过删除文件的方式重新安装的cnpm)
4.npm install 卡住不动 无响应解决方案,从此不用在等了 推荐使用解决方案二 (这里还提供了两种工具,一个是smart npm,一个是nrm)
或者用其他的命令
1 | ## 查看npm当前镜像源 |
4.Windows|Deepin安装nvm
打开终端,执行wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
下载[nvm-windows版本}(https://github.com/coreybutler/nvm-windows),然后使用setup程序就可以了,也可以使用免安装版,设置环境变量path即可。
5.Windows|Deepin卸载nvm
只需要删除安装时的路径就好了,issues/298
Windows下用安装程序安装的,只需要在控制面板中卸载就好了,如果免安装版,只需要删除path,然后删除安装路径就可以了。
6.nvm安装node
终端执行命令:nvm install node,会安装最新版的nodejs,中国下载起来很慢,耐心等会。
安装完成,不需要其他的操作即可使用最新版的nodejs了。
或者是使用 nvm list availiable(新版:nvm ls-remote) 查看可以安装的nodejs版本。
然后使用nvm install 12.10.0,应用nvm use 12.10.0
7.关于–save-dev和–save或者是-S和-D的区别
–save-dev或者是-D主要是在开发商辅助开发用到的库,比如压缩代码,编译sass文件,加载vue组件等的插件,在代码开发完成之后,这些工具都没有用了,自己写的代码可以离开工具运行。而–save-dev和-S,主要是自己在代码中需要用到的库,自己写的代码是不能离开函数库而存在的,比如jquery,vue或者是其他的一些组件库等。sudo
8.linux安装nodejs
sudo apt-get install node
9.cnpm uninstall卸载包时总是出错。
如上图,使用cnpm uninstall 卸载某个包时,总是报错:”Error: ENOENT: no such file or directory”,安装的时候也没什么毛病啊,卸载的姿势也是正确的啊。最后,通过重新设置cnpm后,可以解决这个问题。
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
10.更新包
1 | npm update //更新全部包 |
使用上面的命令,更新全部的包,可能会出现错误,所以我选择了另一个插件npm-check。他可以检查哪些依赖包更新了,哪些没有更新,也可以通过手动更新某一个或者时全部依赖包。
1 | // 安装 |
1 | ## 手动选择更新某个包 |
npm-check更新包的原理并不是npm update,而是npm install重新安装依赖包,然后更新package.json
11.nvm在windows安装node提示“Node.js vnode.0.0 is only available in 32-bit.”
今天在新的电脑上用nvm安装node提示:
我试着直接安装某个具体的版本号:nvm install 10.16.2
12.最好不要将nvm安装在带有空格的路径中
在使用nvm安装nodejs时,最好不要将nvm安装到带有空格的路径中,比如:D:\Program Files (x86)\nvm,这种不行,最后安装完node,会报一个莫名奇妙的问题。而且不能完整的安装nodejs。
把nvm安装到D:\soft\nvm中,就可以正常的安装nodejs了。
13.无法加载文件ps1,因为在此系统中禁止执行脚本。
在执行vue create时,出现了禁止执行脚本的错误。
在管理员命令行下执行:set-executionpolicy remotesigned 即可
参考文档:
1.2018-05-19无法加载文件ps1,因为在此系统中禁止执行脚本
2.无法加载文件 **.ps1,因为在此系统中禁止执行脚本。有关详细信息,请参阅 “get-help about_signing”